/*
* Copyright (C) 2020 ~ 2024 chaigec All Rights Reserved.
*
* Author:     chaigec <chaigec@163.com>
* Maintainer: chaigec <chaigec@163.com>

 * Use of this source code is governed by MIT license that can be found in the
 * LICENSE file in the root of the source tree. All contributing project authors
 * may be found in the AUTHORS file in the root of the source tree.
*/

#ifndef MK_GB_STREAM_SOURCE_H
#define MK_GB_STREAM_SOURCE_H
#include "MkPs/MkPsStreamSource.h"

class CMkRtp;
typedef MkFunction<void()> MkGbStreamSourceStopCallback;
class MkApi CMkGbStreamSource : public CMkPsStreamSource
{
public:
    CMkGbStreamSource(CMkRtp* pRtp, const Uint32& Ssrc, const MkGbStreamSourceStopCallback& StopCb);
    ~CMkGbStreamSource();

    virtual Uint32 StopMediaSource() override;
protected:
private:
    CMkRtp*     m_pRtp;
    Uint32      m_Ssrc;
    MkGbStreamSourceStopCallback m_StopCb;
};


#endif